1. Field of the Invention
The present invention is directed to the field of numerical control units for controlling multiple axis machine tools or the like. More specifically, the present invention is directed to an apparatus for and method of automatically tuning and setting control parameters that define the accuracy of movement of a servo or spindle motor drive system that is controlled by a numerical control unit. The present invention also relates to a process for changing criteria for feature values of a control parameter, a process for comprehensively determining the feature values where there are a plurality of tuning conditions, and a process for sampling the status value data of the servo or spindle.
2. Description of the Prior Art
A known prior art numerical control unit for controlling a servo or spindle motor drive system is illustrated in FIG. 26. The numerical control unit 1C controls the servo or spindle motor 3 via a servo or spindle amplifier 2C. The numerical control unit 1C is controlled by a control section 6C that outputs position and velocity commands generated by a position/velocity command generator 7C for generating a motor position or velocity command value according to a machining program. These commands are transmitted to the servo or spindle amplifier 2C via an interface 10C.
A control parameter storage device 8C stores the control parameters of the servo or spindle motor drive system. These parameters and other information are both transmitted to and received from the servo or spindle amplifier 2C. The numerical control unit is coupled to an operation board 5 having a cathode ray tube (CRT) screen 25 for displaying internal data of the numerical control unit 1C. A keyboard 26 mounted on the operation board 5 transmits data input by an operator to the numerical control unit 1C via the input/output (I/O) control section 11. A synchroscope 41 allows the operator to monitor the internal data of servo or spindle amplifier 2C by receiving information converted by a digital-to-analog (D/A) converter 40. The spindle amplifier receives position and velocity commands, and information such as control parameters, from the numerical control unit 1C via an amplifier interface 28. Such information is used by a motor drive control section 27 for controlling the parameters such as current, position, velocity, and the like of the motor 3 and a corresponding machine element.
FIG. 27 illustrates a flow chart of the procedure used in the prior art system described above when the operator tunes the control parameters. In the beginning of the procedure, the operator checks the initial settings of the control parameters on the CRT screen 25 of the operation board 5 (S81). The operator then conducts a test run to obtain the necessary information for tuning the parameters (S82). During the test run, the operator monitors the data displayed on the CRT screen 25, or the data shown on the synchroscope 41 in the form of a waveform (S83). The operator then determines whether the control parameters are appropriate or not on the basis of such data (S84). When the data is determined to be appropriate, the tuning is terminated. When the data, however, is deemed to be inappropriate, the operator enters a new control parameter value from the keyboard 26 (S85), and repeats steps S82 through S84 until the control parameter is determined to be appropriate.
With reference to FIGS. 28(a) and 28(b), a method of tuning a position command will now be described. When a position command, shown as signal waveform (i) in FIG. 28(a), is issued, the servo response is delayed, as indicated by waveforms (ii) through (iv). In particular, when the control parameter setting is improper, the response delay approximates the signal waveform (iv). To tune this parameter, the operator increases a velocity loop gain. If the gain is increased too greatly, vibration occurs, as shown in FIG. 28(b). While viewing the appearance of this vibration on the synchroscope 41, the operator sets a maximum gain at which the vibration does not take place. The response at the gain set as described above is indicated as signal waveform (iii) FIG. 28(a)).
Elements associated with control of a servo or a spindle that need to be tuned by the numerical control unit include a velocity loop control system, a position loop control system, spindle orientation c-axis control, and the like. Control parameters within the velocity loop control system that need to be tuned include, for example, a velocity loop gain, a velocity lead compensation, machine resonance suppression filter central frequency, and other such parameters, including multiple control parameters.
Also known in the prior art is the process of automatic tuning of control values in a process control system. For example, Japanese Patent Publication No. 83703/1990 relates to the automatic tuning of the control parameters of a proportional, integral, differential (PID) control or PI control elements in a process control system. According to this process, the control parameters are continuously monitored, and when a feedback value offsets from a reference value, the automatic tuning function is activated to operate on an offset value according to a fuzzy inference. Such a tuning process does not cure the foregoing problems of a numerical control unit for controlling a machine tool because the numerical control unit requires tuning when proper accuracy is not provided at the time the machine is installed, or due to mechanical system variations with time. The tuning of the control parameters of such a numerical control unit does not require continuous automatic tuning.
Thus, tuning the control parameters for a servo or spindle motor drive system, carried out as described above, requires measuring devices such as a synchroscope and a CRT screen. Where one numerical control unit has a plurality of servo or spindle drive systems to be tuned, each servo or spindle motor drive system has a plurality of control parameters that must be tuned. A skilled operator must therefore tune a wide variety of control parameters which each influence each other, thus creating a complicated relationship therebetween. Moreover, the control parameters are not changed accurately on the basis of definite data; instead they are often changed on a trial and error basis by the operator. Such a tuning process requires much time and often leads to an individual difference between tuning results.